#include <stdio.h>
#include <stdlib.h>
#include <time.h>

/*
真题练习
    生成10个1~100之间的随机数存入数组，需求数据不能重复
        求出所有数据的和
        求所有数据的平均数
        统计有多少个数据比平均值小
*/

int contains(int arr[],int len,int num)//函数作用：查重
{
    for (int i = 0; i<len; i++)
    {
        if (num == arr[i])
        {
            return 1;//存在重复值，输出1
        }
    }
    return 0;//未发现重复值，输出0
}

int main() 
{

    srand(time(NULL));

    int arr[10] = {0};//创建数组
    int len = sizeof(arr) / sizeof(int);//数组长度

    for (int i = 0; i<len; )//生成由随机数组成的数组（数据不重复）
    {

        int num = rand() % 100 + 1;

        int flag = contains(arr, len, num);

        if (!flag)
        {
            arr[i] = num;
            i++;//完成后，寻找下一个数字
        }
    }

    for (int i = 0; i < len; i++)//打印数组
    {
        printf("%d ", arr[i]);
    }
    

    int sum = arr[0];//设定最大值，并求最大值
    for (int j = 1; j<len; j++)//设定j = 1，可以省略arr[0]与arr[0]比较的过程
    {
        sum = sum + arr[j];
    }
    printf("\n数组中的数据之和为%d\n",sum);

    int avg = sum / len;//求平均数
        printf("\n数组平均值为%d\n",avg);

    int count = 0;//找出低于平均值的数字
    for (int i = 0; i < len; i++)
    {
        if (arr[i] < avg)
        {
            count++;
        }
    }
    printf("\n数组中心低于平均值的有%d个\n",count);

    return 0;
}